#pragma once
#include "Scene.h"
#include "snake.h"
#include "food.h"
#include "input.h"

class SnakeScene : public GameEngine::Scene {
public:
    SnakeScene(const std::string& name, int screenWidth, int screenHeight, int gridSize);
    void OnCreate() override;
    void OnDestroy() override;
    void OnActivate() override;
    void OnDeactivate() override;
    void Update(float deltaTime) override;
    void Render() override;

private:
    Snake snake;
    Food food;
    InputHandler* inputHandler;
    int score;
    int screenWidth;
    int screenHeight;
    int gridSize;
    bool gameOver;
    bool paused;
    float moveTimer; 
    bool keyProcessed;
};